<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
	</head>
	<body>
		<script>
			function fn() {
				getName = function() { console.log('1') }
				return this;
			}
			fn.getName = function() { console.log('2') }
			fn.prototype.getName = function() { console.log('3') }
			var getName = function() { console.log('4') }
			function getName() { console.log('5') }
			
			fn.getName() // 2
			getName() // 4
			fn().getName() // 1
			getName() // 1
			new fn.getName() // 2
			new fn().getName() // 3
			new new fn().getName() // 3
		</script>
	</body>
</html>